package com.wecheir.dao;

import org.apache.ibatis.annotations.Param;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;

public interface BaseDao<T> {

    Integer insert(T var1);

    Integer deleteById(Serializable var1);

    Integer deleteByMap(@Param("cm") Map<String, Object> var1);

//    Integer delete(@Param("ew") Wrapper<T> var1);

    Integer deleteBatchIds(@Param("coll") Collection<? extends Serializable> var1);

    Integer updateById(@Param("et") T var1);

//    Integer update(@Param("et") T var1, @Param("ew") Wrapper<T> var2);

    T selectById(Serializable var1);

    List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> var1);

    List<T> selectByMap(@Param("cm") Map<String, Object> var1);

//    T selectOne(@Param("ew") Wrapper<T> var1);

//    Integer selectCount(@Param("ew") Wrapper<T> var1);
//
//    List<T> selectList(@Param("ew") Wrapper<T> var1);
//
//    List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> var1);
//
//    List<Object> selectObjs(@Param("ew") Wrapper<T> var1);
//
//    IPage<T> selectPage(IPage<T> var1, @Param("ew") Wrapper<T> var2);
//
//    IPage<Map<String, Object>> selectMapsPage(IPage<T> var1, @Param("ew") Wrapper<T> var2);

}
